package com.wing.bill.dao;

import com.wing.common.utils.JsonResult;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Mapper
public interface GetNewReportDao {

    List<HashMap> list(@Param("begin")LocalDateTime localDateTime, @Param("end")LocalDateTime localDateTime1, @Param("code")String code, @Param("param")String param);

    List<HashMap> midThirdChart(@Param("begin")LocalDateTime start,  @Param("end")LocalDateTime end, @Param("param")String param,  @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    Object midThirdChartAvg(@Param("begin")LocalDateTime start,  @Param("end")LocalDateTime end, @Param("param")String param,  @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    HashMap queryCabinetByNameWebTotal(@Param("begin")LocalDateTime start, @Param("end")LocalDateTime end, @Param("param")String param, @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    HashMap queryCabinetByMachineWebTotal(@Param("begin")LocalDateTime start, @Param("end")LocalDateTime end, @Param("param")String param, @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    HashMap queryCabinetByDepTotal(@Param("begin")LocalDateTime start, @Param("end")LocalDateTime end, @Param("param")String param, @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    HashMap findCabinetRequisitionNumber(@Param("begin")LocalDateTime localDateTime, @Param("end")LocalDateTime localDateTime1, @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> findCabinetRequisitionNumberClick(@Param("begin")LocalDateTime start, @Param("end")LocalDateTime end, @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    HashMap getNewPeopleNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    HashMap getNewDeviceNum(@Param("begin") LocalDateTime localDateTime, @Param("end") LocalDateTime localDateTime1, @Param("code") String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> getNewPeopleNumClick(@Param("begin")LocalDateTime start, @Param("end")LocalDateTime end, @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> getNewDeviceNumClick(@Param("begin")LocalDateTime start, @Param("end")LocalDateTime end, @Param("code")String code, @Param("mainCabCode")String mainCabCode);

    List<HashMap> getNewByParam(@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("code")String code, @Param("selectParam")String selectParam, @Param("param")String param, @Param("mainCabCode")String mainCabCode);

    Object getAvg(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("code") String code, @Param("selectParam")String selectParam, @Param("param")String param, @Param("mainCabCode")String mainCabCode);

    Integer getTotal(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("code") String code, @Param("param")String param, @Param("mainCabCode")String mainCabCode);
}
